package com.caipos.mqtt.handler;

import com.caipos.mqtt.entity.SensorDataDO;
import com.caipos.mqtt.entity.SensorReportEntity;
import com.caipos.util.JsonUtil;
import com.fasterxml.jackson.core.type.TypeReference;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.stream.Collectors;

/**
 * 5G协议上报数据处理，对于上报数据，三代数据入库服务中已进行初步的处理，包括时间拉齐、实时数据redis缓存等操作，在此无须再次处理
 */
//@Component
//public class FiveGHandler extends BaseSensorDataHandler<Message> {
//
//    /**
//     * 5G协议传感器上报数据解析
//     *
//     * @param message 三代协议传感器上报数据
//     * @return 转换后传感器上报数据
//     */
//    @Override
//    public List<SensorDataDO> analysis(Message message) {
//        String data = new String(message.getBody());
//        List<SensorReportEntity> reports = JsonUtil.parse(data, new TypeReference<>() {
//        });
//        return reports.stream().map(
//                r -> SensorDataDO
//                        .builder()
//                        .sensorcode(r.getDeviceCode())
//                        .senval(r.getSenval())
//                        .interval(r.getCollectInterval())
//                        .thattime(r.getThattime())
//                        .build()
//        ).collect(Collectors.toList());
//    }
//}
